This invention relates to ATMs and, more particularly to circumventing of faults in I/O modules of an ATM.
FIG. 1 presents a general block diagram of a conventional local ATM switch 100 with a connected I/O module 10, and conventional remote ATM switch 200 with a connected I/O module 20 (that may be of the same construction as that of module 10). Module 10 contains a line interface unit (LIU) 110 that is connected to fiber 210, and a line interface unit 120 that is connected to fiber 220. Fiber 210 is the “service” line, in the sense that it carries live data between I/O module 10 and I/O module 20. Fiber 220 is the “protection” line, in the sense that it is ready to assume the active communication function of line 210, should fiber 210 fail. Within module 10, LIU 110 is connected to framer 111, and framer 111 is connected to APS switch unit 130. Similarly, LIU 120 is connected to framer 121, and framer 121 is connected to APS switch unit 130. APS switch 130 is connected to ATM processing unit 140, and the output of ATM processing unit 140 forms the output of I/O module 10. This output is connected to ATM switch fabric 100. Elements 111, 121, 130 and 140 are connected to a control CPU 150.
Under normal operating circumstances, traffic from the service fiber (210) passes through LIU 110 and framer 111, and is applied to APS switch unit 130. The switch is set to pass this traffic to ATM processing unit 140 and thence, to ATM switch fabric 100. In the reverse direction, traffic flows from switch fabric 100 to ATM processing unit 140, and is bridged by APS switch unit 130 to both framers 111 and 121. That traffic is then transmitted out on both fibers 210 and 220. From the above it can be realized that protection fiber 220 carries signals that are identical to the signals carried in service line 210. The only difference is that APS switch 130 in I/O module 10 passes only the signal of framer 111 to switch unit 140 and, similarly, I/O module 20 at the remote destination passes only the signal of framer 123 to switch unit 145.
When a failure occurs, for example, when fiber 210 is severed, CPU 150 gets an interrupt signal via line 151 from a detector in framer 111. In response thereto, the CPU takes recovery action. First, the CPU checks to determine whether the protection line (220) is in good operating order. Upon an affirmative determination, CPU 150 orders APS switch 130 to disconnect the path from line 210 toward ATM processing unit 140, and to connect the path from line 220 to ATM processing unit 140. CPU 150 also creates an APS signal and casts it onto line 220 through framer 121, toward I/O module 20. Framer 113 at I/O module 20 provides the received APS signal to CPU 160, and CPU 160 directs APS switch unit 135 to switch the signal arriving on fiber 220 to ATM processing unit 145.
While an ATM constructed with I/O modules as shown in FIG. 1, and employed in the manner described above, is able to circumvent problems that originate in the fiber or the LIU, it nevertheless has a significant weakness. Use of the APS switch within the I/O module requires one to connect the service fiber and the protection fiber to the same I/O module. Consequently, a general failure in the I/O module brings down both the service path and the protection path. On first blush, it would appear that placing the APS switch off the I/O module, in a separate circuit board that is interfaced between the I/O module and the ATM switch, would solve the problem because it would allow the service fibers and the protection fibers to be connected to different I/O modules. Alas, current design ATMs do not have the physical room for inserting the circuit board that would serve as the switches for selecting I/O modules. Moreover, such a solution is quite expensive.
The aforementioned related application discloses an improved arrangement that operates in a novel manner by allowing the connection of the service fiber and the protection fiber to different I/O modules. The necessary switching for implementing this arrangement is achieved by closing and opening buffers in the I/O modules, as the need dictates, by cooperation between the CPUs on the I/O modules of the service and the protection lines and the ATM switch fabric. That is, the active line has its framer buffer open, while the standby line has its framer buffer closed. In the other direction, traffic is multi-cast onto both the service and the protection lines by the ATM processing unit. In this manner, the protection fiber always contains information, ready to be switched from standby mode into active mode.
The above-described scenario of what happens when a fiber such as fiber 210 is severed is but one of the conditions that the decision logic within the CPUs of the I/O modules must account for before a decision is reached as to whether to close the buffer of the service I/O module and open the buffer of the protection I/O module, or vice versa. The more complete, actual, situation is that the decision logic is responsive to various different conditions that may exist in both the service and the protection I/O modules, as; well as to a user-provided control signal from a controller that is coupled to switch fabric; 100.
As for the conditions that may be present on the service and protection I/O modules, there is the SD (signal degraded) condition and the SF (signal failed) condition. As for the inputs applied by a user, they include a manual switching directive, a forced switching directive, a lockout directive, or a Release directive.                A manual switching directive aims to assign the protection line to be the active line, and the service line to be the standby line when there are no fault conditions, or vice versa, and, for whatever reason, the operator wishes to make the desired assignment.        A forced switching directive aims to switch a line to the active state even if that line is in a degraded (SD) condition.        A lockout directive aims to assign the service line (only) to be the active line without any regard to what state the service line and the protection line are in.        The release directive voids the other directives.        
Hierarchically, from the highest priority concerns for the decision logic, to the lowest priority concerns for the decision logic, the order is: lockout, SF in the protection line, FS (forced switching), SF in the service line, SD in the protection line, SD in the service line, and lastly, manual switching.
Prior art arrangements account for all inputs and for all existing conditions through a software module that implements a state machine. Such a state machine is quite large. For example, in the Lucent Technologies GV2000 ATM switch, the aforementioned state machine has about 40 states, and about 10,000 lines of C code. This can slow performance and certainly increases the cost of maintenance.